package project;

import javax.media.jai.KernelJAI;

public class PixieConstants {
	
	/*****Undo Stack size**/
	public static int UNDO_MAX = 10;
	
	/******Sharpening Kernel*/
    private static float[] sharp = {0.f, -1.f,  0.f,
            						-1.f,  5.f, -1.f, 
            						0.f, -1.f,  0.f};
    public static KernelJAI SHARPEN = new KernelJAI(3, 3, sharp);
    
	/******Blurring Kernel*/
    private static float[] blur = { 0.1f, 0.1f, 0.1f,
            						0.1f, 0.2f, 0.1f, 
            						0.1f, 0.1f, 0.1f};
    public static KernelJAI BLUR = new KernelJAI(3, 3, blur);
    
    /***Brightness*/
    public static double[] BRIGHTEN = {1.1D, 1.1D, 1.1D};
    public static double[] DIM = {0.909D, 0.909D, 0.909D}; 
    public static double[] BRIGHT_ADD = {0.0, 0.0, 0.0};
    public static double[] BRIGHT_SUB = {-5, -5, -5};
    
    
    /**MATRICES FOR COLOR TONES**/
    private static double[] m0 = { .000D, 0.000D, 0.000D, 0.0D };
	private static double[] m1 = { .299D, 0.587D, 0.114D, 0.0D }; 
	private static double[] m2 = { .351D, 0.206D, 0.443D, 20.0D };
	private static double[] m3 = { .0D, 0.0D, 0.0D, 255.0D };
	private static double[] m4 = { .393D, .769D, .189D, 0.0D }; 
	private static double[] m5 = { .349D, .686D, .168D, 0.0D };
	private static double[] m6 = { .272D, .534D, .131D, 0.0D };
	private static double[] m7 = { -1.0D,  0.0D, 0.0D, 255.0D };
	private static double[] m8 = { 0.0D, -1.0D, 0.0D, 255.0D };
	private static double[] m9 = { 0.0D,  0.0D, -1.0D, 255.0D };
	public static double[][] GRAY_TONE = {m1,m1,m1};
	public static double[][] SEPIA_TONE = {m4 ,m5 ,m6};
	public static double[][] LIGHTBLUE_TONE = {m2 ,m2 ,m3};
	public static double[][] BLUE_TONE = {m0 ,m0 ,m1};
	public static double[][] RED_TONE = {m1 ,m0 ,m0};
	public static double[][] GREEN_TONE = {m0 ,m1 ,m0};
	public static double[][] LIGHTRED_TONE = {m3 ,m2 ,m2};
	public static double[][] LIGHTGREEN_TONE = {m2 ,m3 ,m2};
	public static double[][] PURPLE_TONE = {m1 ,m0 ,m1};
	public static double[][] PINK_TONE = {m3 ,m2 ,m3};
	public static double[][] CYAN_TONE = { m0 ,m1 ,m1};
	public static double[][] TURQUOISE_TONE = {m2 ,m3 ,m3};
	public static double[][] GOLDEN_TONE = {m1 ,m1 ,m0};
	public static double[][] YELLOW_TONE = {m3 ,m3 ,m2};
	public static double[][] NEGATIVE_TONE = {m7 ,m8 ,m9};

	
	
	/**Edge Detection Constants**/
	private static float[] yEdgeMatrix = {-1.0F, -2.0F, -1.0F,
											0.0F, 0.0F,  0.0F,
											1.0F, 2.0F, 1.0F};
	private static float[] xEdgeMatrix = {1.0F, 0.0F, -1.0F,
											2.0F, 0.0F, -2.0F,
											1.0F, 0.0F, -1.0F};
	public static KernelJAI X_EdgeDetector = new KernelJAI(3,3,xEdgeMatrix);
	public static KernelJAI Y_EdgeDetector = new KernelJAI(3,3,yEdgeMatrix);


	/**Icon File names**/
	public static String openIconPath = "res/open_icon2.png";
	public static String closeIconPath = "res/close_icon.png";
	public static String saveIconPath = "res/save_icon.png";
	public static String saveAsIconPath = "res/save_as_icon.png";
	public static String undoIconPath = "res/undo_icon.png";
	public static String redoIconPath = "res/redo_icon.png";
	public static String flipHorizIconPath = "res/flipH.png";
	public static String flipVertIconPath = "res/flipV.png";
	public static String rotCCWiconPath = "res/rot_ccw.png";
	public static String rotCWiconPath = "res/rot_cw.png";
	public static String brightenIconPath = "res/brighten_icon.png";
	public static String darkenIconPath = "res/darken_icon.png";
	public static String sharpIconPath = "res/sharp_icon.png";
	public static String blurIconPath = "res/blur_icon.png";
	public static String sketchIconPath = "res/pencil.png";
	public static String paintIconPath = "res/paintbrush.png";
	public static String colorsIconPath = "res/colors_icon.png";
	public static String artIconPath = "res/sketchIcon.png";
	public static String resizeIconPath = "res/resize_icon.png";
    public static final String defaultFilePath = "res/default.jpg";
	public static String imageSaveIconPath = "res/picture_save.png";
	public static String fitIconPath = "res/fit_icon.png";
	public static String fullIconPath = "res/full_icon.png";
	public static String arrowDownIconPath = "res/arrowdown_icon.png";
	public static String notSavedIconPath = "res/save_red.png";
	public static String programLogoPath = "res/mylogo.png";


}
